perm filename BUG[1,JRA] blob
sn#005895 filedate 1972-09-19 generic text, type T, neo UTF8
(DEFPROP UNITREDUCT
(LAMBDA(R UP UN)
(PROG (Z UP1 UN1 C1 C2 RC1 RC2)
(SETQ UN1 (SETQ UP1 NIL))
(SETQ C1 (SETQ C2 R))
A (SETQ RC1 (SETQ RC2 NIL))
(COND ((NULL C2) (GO C1)) ((AND (NULL UP1) (NULL UN1)) (GO C)))
B (SETQ Z (UNITRES (CAR C2) UP1 UN1))
(COND ((NULL Z) (SETQ RC2 (CONS (CAR C2) RC2)))
((MEMQ NIL Z) (RETURN (LIST NIL)))
(T (SETQ RC1 (APPEND Z RC1))))
(SETQ C2 (CDR C2))
(COND (C2 (GO B)))
C1 (SETQ UP (APPEND UP1 UP))
(SETQ UN (APPEND UN1 UN))
C (SETQ Z (UNITRES (CAR C1) UP UN))
(COND ((NULL Z) (SETQ RC2 (CONS (CAR C1) RC2)))
((MEMQ NIL Z) (RETURN (LIST NIL)))
(T (SETQ RC1 (APPEND Z RC1))))
(SETQ C1 (CDR C1))
(COND (C1 (GO C)))
(COND ((NULL RC1) (RETURN RC2)))
(SETQ C2 RC2)
(SETQ C1 RC1)
(SETQ Z (UNITPN C1))
(COND ((AND (NULL (CAR Z)) (NULL (CDR Z))) (RETURN (APPEND RC1 RC2))))
(SETQ UP1 (CAR Z))
(SETQ UN1 (CDR Z))
(GO A)))
EXPR)